package org.example;

/**
 * 实验任务4：JUnit单元测试
 * 学生姓名：易信志
 * 学号：202411671429
 * 
 * 本任务包含：
 * 1. JUnitCalculator类 - 计算器类
 * 2. JUnitCalculatorTest类 - 测试类
 */
public class Task4 {
    public static void main(String[] args) {
        System.out.println("=== 实验任务4：JUnit单元测试 ===");
        System.out.println("学生姓名：易信志");
        System.out.println("学号：202411671429");
        System.out.println();

        System.out.println("=== 任务说明 ===");
        System.out.println("1. 已创建JUnitCalculator类");
        System.out.println("   - 私有成员变量：name（姓名）和no（学号后4位：1429）");
        System.out.println("   - getter/setter方法");
        System.out.println("   - toString()方法");
        System.out.println("   - add(int num)方法：返回学号后4位 + 参数");
        System.out.println("   - sub(int num)方法：返回学号后4位 - 参数");
        System.out.println();

        System.out.println("2. 已创建JUnitCalculatorTest测试类");
        System.out.println("   - setUp()方法：实例化对象，设置name='易信志'，no=1429");
        System.out.println("   - tearDown()方法：释放对象");
        System.out.println("   - add()测试方法：测试add功能");
        System.out.println("   - sub()测试方法：测试sub功能");
        System.out.println();

        System.out.println("=== 演示JUnitCalculator功能 ===");
        // 创建JUnitCalculator对象进行演示
        JUnitCalculator calculator = new JUnitCalculator("易信志", 1429);
        System.out.println("创建的计算器对象：" + calculator);
        System.out.println();

        // 演示add方法
        System.out.println("=== add方法演示 ===");
        int addResult1 = calculator.add(100);
        System.out.println("1429 + 100 = " + addResult1);

        int addResult2 = calculator.add(0);
        System.out.println("1429 + 0 = " + addResult2);

        int addResult3 = calculator.add(-50);
        System.out.println("1429 + (-50) = " + addResult3);
        System.out.println();

        // 演示sub方法
        System.out.println("=== sub方法演示 ===");
        int subResult1 = calculator.sub(100);
        System.out.println("1429 - 100 = " + subResult1);

        int subResult2 = calculator.sub(0);
        System.out.println("1429 - 0 = " + subResult2);

        int subResult3 = calculator.sub(-50);
        System.out.println("1429 - (-50) = " + subResult3);
        System.out.println();

        System.out.println("=== 运行JUnit测试 ===");
        System.out.println("请运行以下命令来执行JUnit测试：");
        System.out.println("mvn test");
        System.out.println("或者");
        System.out.println("mvn test -Dtest=JUnitCalculatorTest");
        System.out.println();

        System.out.println("=== 实验任务4完成 ===");
    }
}
